]> dgit.raspbian.org Git - gnome-shell.git/commit
gdm: Cancel user verification on UserVerifier destruction
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Sat, 30 Jan 2021 00:53:59 +0000 (01:53 +0100)
committerMarge Bot <marge-bot@gnome.org>
Fri, 12 Feb 2021 20:26:00 +0000 (20:26 +0000)
commitb916df11106d46da9df81c68a0e02de43e75ddbc
treeeabc9700456237c4f987bfd43923c1aca20d8a12
parent2beca14b8d4b4aaf7a656b5cab332986dae304ba
gdm: Cancel user verification on UserVerifier destruction

When we cancel an user authentication via Escape key or cancel button on
AuthPrompt we reset the view and we emit a 'cancelled' signal that leads
to destroying the auth prompt and the user verifier.

However, the verifier may still have an operation in progress and its
completion may take some time (as in the case of gdm-fingerprint), but
we just leave the gdm worker running until its pam module completes
(potentially never) clearing and disposing its handle.

So, instead of just clearing the verify, actually cancel and clear it.
In case the user verifier is set, clearing the relevant data will happen
anyway as part of the cancel() call.

Ideally this would have been handled by gdm itself, but unfortunately we
can't fix it there because the verifier itself is a class generated by
gdbus-codegen, so we can't handle this automatically on disposal nor we
can automatically monitor when the caller proxy is stopped on our side.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3654
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1622>
js/gdm/util.js